package com.example.springboot.controller;

import cn.hutool.core.collection.CollUtil;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.Quarter;
import cn.hutool.http.HttpUtil;
import com.example.springboot.UserSerive.UserService;

import com.example.springboot.pojo.SpUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/echarts")
@CrossOrigin(origins = "*")
public class EchartsController {
    @Autowired
    private UserService userService;

    @GetMapping("/yiq")
    public String epidemic() {
       // System.out.println(System.currentTimeMillis());
        return HttpUtil.get("https://c.m.163.com/ug/api/wuhan/app/data/list-total?t=" + System.currentTimeMillis());
    }


    @GetMapping("/ex")
    public Map get() {
        Map<String, List> map = new HashMap<>();
        map.put("x", CollUtil.newArrayList("Mon", "Tue", "Wed","Thu", "Fri", "Sat","Sun"));
        map.put("y",CollUtil.newArrayList(150, 230, 224, 218, 135, 147, 260));
        return map;
    }
    @GetMapping("/all")
    public int all() {
        List<SpUser> list= userService.list();
        return list.size();
    }
    @GetMapping("/day")
    public List gett(){
        List<SpUser> list= userService.list();
        int q1=0;
        int q2=0;
        int q3=0;
        int q4=0;
        for (SpUser spUser:list) {
            Date date=spUser.getCreateTime();
            //季度
            Quarter quarter=DateUtil.quarterEnum(date);
            switch (quarter){
                case Q1:q1=q1+1;break;
                case Q2:q2=q2+1;break;
                case Q3:q3=q3+1;break;
                case Q4:q4=q4+1;break;
                default:break;
            }
        }return CollUtil.newArrayList(q1,q2,q3,q4);

    }

    @GetMapping("/address")
    public List address (){
        List<SpUser> list= userService.list();
        int q1=0;
        int q2=0;
        int q3=0;
        int q4=0;
        int q5=0;
        int q6=0;
        int q7=0;
        int q8=0;
        int q9=0;
        int q10=0;
        int q11=0;int q12=0;int q13=0;int q14=0;int q15=0;int q16=0;int q17=0;int q18=0;int q19=0;int q20=0;
        int q21=0;int q22=0;int q23=0;int q24=0;int q25=0;int q26=0;int q27=0;int q28=0;int q29=0;int q30=0;int q31=0;
        for (SpUser spUser:list) {
            switch (spUser.getAddress()){
                case "北京":q1=q1+1;break;
                case "天津":q2=q2+1;break;
                case "上海":q3=q3+1;break;
                case "重庆":q4=q4+1;break;
                case "河北":q5=q5+1;break;
                case "山西":q6=q6+1;break;
                case "辽宁":q7=q7+1;break;
                case "吉林":q8=q8+1;break;
                case "黑龙江":q9=q9+1;break;
                case "江苏":q10=q10+1;break;
                case "浙江":q11=q11+1;break;
                case "安徽":q12=q12+1;break;
                case "福建":q13=q13+1;break;
                case "江西":q14=q14+1;break;
                case "山东":q15=q15+1;break;
                case "河南":q16=q16+1;break;
                case "湖北":q17=q17+1;break;
                case "湖南":q18=q18+1;break;
                case "广东":q19=q19+1;break;
                case "海南":q20=q20+1;break;
                case "四川":q21=q21+1;break;
                case "贵州":q23=q23+1;break;
                case "云南":q24=q24+1;break;
                case "甘肃":q25=q25+1;break;
                case "青海":q26=q26+1;break;
                case "内蒙古":q27=q27+1;break;
                case "广西":q28=q28+1;break;
                case "西藏":q29=q29+1;break;
                case "宁夏":q30=q30+1;break;
                case "新疆":q31=q31+1;break;
                default:break;
            }
//            北京市、天津市、上海市、重庆市、河北省、山西省、辽宁省、吉林省、黑龙江省、江苏省、浙江省、安徽省、福建省、江西省、山东省；
//
//            河南省、湖北省、湖南省、广东省、海南省、四川省、贵州省、云南省、甘肃省、青海省、内蒙古自治区、广西壮族自治区、西藏自治区、宁夏回族自治区、新疆维吾尔自治区、香港特别行政区、澳门特别行政区。
        }
        return CollUtil.newArrayList(q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,q12,q13,q14,q15,q16,q17,q18,q19,q20,
                q21,q22,q23,q24,q25,q26,q27,q28,q29,q30,q31);
    }
}
